iT邦幫忙

2022 iThome 鐵人賽

DAY 17
0
Software Development

剛入職軟體工程師會需要知道的常見工具篇系列 第 17

[Day17] 簡單搞懂CGI / FastCGI 名詞解釋

  • 分享至 

  • xImage
  •  

這兩個名詞也是常聽到又不曉得是啥米東西...來跟我一起補起來吧!

  • CGI(Common Gateway Interface): 確保Client端至Server端傳遞資料有標準化的格式,是一種協議。但最主要的問題就是,每次HTTP服務器遇到動態程序時都需要重新啟動腳本解析器來執行解析,然後結果被返回給HTTP服務器
  • FastCGI(Fast Common Gateway Interface):他是CGI的進階版,就是為了減少Web Server(ex. Nginx)跟CGI之間的效能問題!

同捆包PHP-CGI&PHP-FPM也會一起出現

PHP-CGI:是PHP (Web Application)對Web Server 提供的CGI 協議的接口程序
PHP-FPM: 是PHP(Web Application)對Web Server 提供的FastCGI 協議的接口程序,額外還提供了相對智能一些任務管理
參考

舉例說明,以餐廳為例,

  • CGI: 每有一個訂單進來,都要叫一位廚師來,那個廚師需要先穿好廚師裝,拿出鍋子,開始料理,送料理,洗鍋子,收鍋子,脫下廚師裝,再出去!
  • FastCGI: 每個單子進來,會有個內場管理者,發送單子給某一位廚師,廚師不需要穿脫廚師裝,拿鍋子收鍋子,當然剛開店那一下還是需要穿衣服拿鍋子等,但開店後就不需要一直反覆這樣的行為~

參考資料

  1. 如何通俗地解釋CGI、FastCGI、php-fpm 之間的關係?
  2. FastCGI介紹及Nginx fastcgi配置優化

上一篇
[Day16] 簡單搞懂HTTP1.X / HTTP2 名詞解釋
下一篇
[Day18] 簡單搞懂SIT / UAT 名詞解釋
系列文
剛入職軟體工程師會需要知道的常見工具篇30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言